package jnpf.fico.service;

import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.fico.entity.ZcBillEntity;
import jnpf.fico.entity.ZcBillItemEntity;
import jnpf.fico.model.bill.ZcBillForm;
import jnpf.fico.model.bill.ZcBillInfoDTO;
import jnpf.fico.model.bill.ZcBillPagination;
import jnpf.fico.model.bill.ZcBillSumMoneyDTO;

import java.util.List;

/**
 * 账单信息
 * 版本： V3.2.0
 * 版权： 智果云科技（https://www.jnpfsoft.com）
 * 作者： JNPF开发平台组
 * 日期： 2024-10-22
 */
public interface ZcBillService extends IService<ZcBillEntity> {


    List<ZcBillEntity> getList(ZcBillPagination zcBillPagination);

    List<ZcBillEntity> getTypeList(ZcBillPagination zcBillPagination, String dataType);


    ZcBillEntity getInfo(String id);

    void delete(ZcBillEntity entity);

    void create(ZcBillEntity entity);

    boolean update(String id, ZcBillEntity entity);

    //  子表方法
    List<ZcBillItemEntity> getZcBillItemList(String id, ZcBillPagination zcBillPagination);

    List<ZcBillItemEntity> getZcBillItemList(String id);

    //列表子表数据方法

    //验证表单
    boolean checkForm(ZcBillForm form, int i);

    /**
     * 账单核账
     * @param ids 账单ids
     */
    void reviewBill(List<String> ids);

    ZcBillSumMoneyDTO getSumMoney();

    ZcBillInfoDTO getBillInfo(String id);

    /**
     * 账单变更
     */
    void updateBill(String taskId);

}
